home *** CD-ROM | disk | FTP | other *** search
- // Struct.lib - Some useful CEnvi routines for working with structures
- // ver.1
- //
- //**** InitStructArray() - Initialize structure array
- // SYNTAX: struct[] InitStructArray(string Member1,string Member2,...,string MemberN,NULL,
- // Data01,Data02,...,Data0N,
- // Data11,Data12,...,Data1N,...,
- // DataX1,DataX22,...,DataXN)
- // WHERE: Member?: the structure members for this structure, names end in NULL
- // Dataxx: the elements of each structure data
- // RETURN: Returns array of all the elements in a structure
- // EXAMPLE: Dinner = InitStructArray( "Name", "Entree", "Drink", "Price", NULL,
- // "Paul", "Lasagna", "Orange Juice", 8.95,
- // "Ann", "Chile Relleno", "Cola", 6.67,
- // "Fido", "Bone", "Toilet water", 0.07 );
- //
- //
-
- InitStructArray(/*lots of possible arguments*/)
- {
- lTotalArgCount = va_arg();
- // determine how many structure members
- for ( lMemberCount = 0; va_arg(lMemberCount); lMemberCount++ ) ;
- // fill in each member
- for ( lIdx = 0, lArg = lMemberCount + 1; lArg < lTotalArgCount; lIdx++ ) {
- for ( lMemberIdx = 0; lMemberIdx < lMemberCount; lMemberIdx++, lArg++ )
- StructureMember(lArray[lIdx],va_arg(lMemberIdx)) = va_arg(lArg);
- }
- return lArray;
- }
-